const express = require("express");
const mongoose=require("mongoose");
const path=require("path")
const session=require("express-session");
const mongooseSession=require("connect-mongo")(session);

mongoose.connect("mongodb://localhost:27017/blog",{useNewUrlParser:true})
        .then(()=>{
            console.log("数据库连接成功");
        })
        .catch((err)=>{
            console.log("数据库连接失败")
        });


const app=express();
app.set("view engine","ejs")
app.use(express.json());
app.use(express.urlencoded({extended:true}))
app.use(express.static("public"));

// 使用session
app.use(session({
    secret:"ymshen",//秘钥，可以设置任意字符串
    cookie:{maxAge:100*60*1000},//设置cookie的过期时间
    rolling:true,//是否每次请求（链接跳转，直接访问，ajax...），都重新刷新存储时间
    store:new mongooseSession({
        url:"mongodb://localhost:27017/blog"
    }),
    //不设置store的话session默认存储在服务器内存中，设置store可以将session存储在数据库中

    resave:false,//重新存储session
    saveUninitialized:false,//初始值

}))

app.get("/",(req,res)=>{
    res.redirect("/main/1");
    // res.render("index");
})
// main
app.get("/main/:page",require("./routers/main"));

// 注册路由
app.post("/regin",require("./routers/regist"));

// 个人中心
app.get("/usercenter",require("./routers/usercenter"))

// 登陆
app.post("/login",require("./routers/login"))

// 注销
app.get("/cancellation",(req,res)=>{
    req.session.destroy();
    res.send();
})



// 修改用户信息
app.post("/modify",require("./routers/modify"));

//修改密码
app.get("/changepsw",require("./routers/changepsw"));

//评论
app.post("/comment",require("./routers/comment"));

//Markdown编辑器
app.use("/markdown",require("./routers/markdown"));

// 上传图片
app.use("/upload",require("./routers/upload"));

//发表文章
app.use("/articel",require("./routers/article"));

// 发表日志
app.use("/log",require("./routers/log"));

//日志评论
app.use("/logcom",require("./routers/logcom"));

// 用户操作
app.use("/user",require("./routers/user"))


app.listen(80,()=>{
    console.log("80端口已运行");
})